#pragma once

#include <isignal.hpp>
#include <boost/asio.hpp>

class IIOService;

class Signal : public ISignal
{
public:
	Signal(IIOService& ioService);
	virtual ~Signal();

protected:
	virtual void add(int signalNumber) override;
	virtual void asyncWait(ISignalHandler& handler) override;

private:
	boost::asio::signal_set m_signals;
};